/**
 * Definition for a binary tree node.
 * function TreeNode(val, left, right) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.left = (left===undefined ? null : left)
 *     this.right = (right===undefined ? null : right)
 * }
 */
/**
 * @param {TreeNode} root
 * @return {number[][]}
 */
var maxDepth = function(root) {
    if(!root){
            return 0;
     }
    function digui (root,n){
        if(!root){
            return n;
        }
        return Math.max(digui(root.left,n+1),digui(root.right,n+1))
    }
    return digui(root,0);
}
// {
//     if(!root){
//         return 0;
//     }
//     let arr=[root];
//     let res=0;
//     let head=0,end=1;
//     while(head!=end){
//         let length=end-head;
//         for(let i=0;i<length;i++){
//             if(arr[head].left){
//                 arr.push(arr[head].left);
//             }
//             if(arr[head].right){
//                 arr.push(arr[head].right);
//             }
//             head++;
//         }
//         res++;
//         end=arr.length;
//     }
//     return res;
// };